﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using HREDU.Hoang_Tuan.Reports;
using HREDU.Hoang_Tuan.Classes;

namespace HREDU.Hoang_Tuan
{

    public partial class frmINDSNANGLUONG : Form
    {
        Form fCallForm = null;
        DataSet dsNangLuong;
        int loaibaobieu;
        private int tongso;//, nltx, nltth, nghihuu;
        string strDonViCond = ""; //Dieu kien loc danh sach nhan vien

        public frmINDSNANGLUONG(Form frm, DataSet ds, int iloaibaobieu)
        {
            InitializeComponent();
            fCallForm = frm;
            dsNangLuong = ds;
            loaibaobieu = iloaibaobieu;
        }

        private void btnIn_Click(object sender, EventArgs e)
        {
            int luongcb = CTHAMSOCollection.GetGiaTriSo(CTHAMSOCollection.parLuongCB);
            frmDSNangLuong frmCall = (frmDSNangLuong)fCallForm;
            rptDSDeNghiNangLuong nnreport;
            rptDSPhuCapVuotKhung nnreport1;
            frmReportViewer frm;
            switch (loaibaobieu)
            {
                case 0:
                    nnreport = new rptDSDeNghiNangLuong();
                    nnreport.SetDataSource(dsNangLuong);
                    nnreport.SetParameterValue("khoi", "*KHỐI: " + frmCall.tvControl.SelectedNode.Text.ToUpper());
                    nnreport.SetParameterValue("tongso", "Tổng số cán bộ, công chức, viên chức ở cơ quan, đơn vị có mặt tại thời điểm xét nâng lương: " + lblTongSo.Text + " người");
                    nnreport.SetParameterValue("nltx", "1. Tổng số người được nâng lương thường xuyên ở các cơ quan, đơn vị: " + txtNLThuongXuyen.Text.ToString() + " người");
                    nnreport.SetParameterValue("nltth", "2. Số người được nâng lương trước thời hạn  do lập thành tích xuất sắc trong thực hiện nhiệm vụ ở cơ quan, đơn vị: " + txtNLTruocThoiHan.Text.ToString() + " người");
                    nnreport.SetParameterValue("nghihuu", "3. Số đã có thông báo nghỉ hưu được nâng bậc lương trước thời hạn ở cơ quan, đơn vị: " + txtThongBaoNghiHuu.Text.ToString() + " người");
                    nnreport.SetParameterValue("dotnl", txtDotNangLuong.Text);
                    nnreport.SetParameterValue("namnl", txtNamNangLuong.Text);
                    nnreport.SetParameterValue("luongcoban", luongcb.ToString());
                    frm = new frmReportViewer(nnreport);
                    frm.ShowDialog();
                    break;
                case 1:
                    nnreport = new rptDSDeNghiNangLuong();
                    nnreport.SetDataSource(dsNangLuong);
                    nnreport.SetParameterValue("khoi", "*KHỐI: " + frmCall.tvControl.SelectedNode.Text.ToUpper());
                    nnreport.SetParameterValue("tongso", "Tổng số cán bộ, công chức, viên chức ở cơ quan, đơn vị có mặt tại thời điểm xét nâng lương: " + lblTongSo.Text + " người");
                    nnreport.SetParameterValue("nltx", "1. Tổng số người được nâng lương thường xuyên ở các cơ quan, đơn vị: " + txtNLThuongXuyen.Text.ToString() + " người");
                    nnreport.SetParameterValue("nltth", "2. Số người được nâng lương trước thời hạn  do lập thành tích xuất sắc trong thực hiện nhiệm vụ ở cơ quan, đơn vị: " + txtNLTruocThoiHan.Text.ToString() + " người");
                    nnreport.SetParameterValue("nghihuu", "3. Số đã có thông báo nghỉ hưu được nâng bậc lương trước thời hạn ở cơ quan, đơn vị: " + txtThongBaoNghiHuu.Text.ToString() + " người");
                    nnreport.SetParameterValue("dotnl", txtDotNangLuong.Text);
                    nnreport.SetParameterValue("namnl", txtNamNangLuong.Text);
                    nnreport.SetParameterValue("luongcoban", luongcb.ToString());
                    frm = new frmReportViewer(nnreport);
                    frm.ShowDialog();
                    break;
                case 2:
                    nnreport1 = new rptDSPhuCapVuotKhung();
                    nnreport1.SetDataSource(dsNangLuong);
                    nnreport1.SetParameterValue("khoi", "*KHỐI: " + frmCall.tvControl.SelectedNode.Text.ToUpper());
                    nnreport1.SetParameterValue("tongso", "Tổng số cán bộ, công chức, viên chức ở cơ quan, đơn vị có mặt tại thời điểm xét hưởng phụ cấp thâm niên vượt khung: " + lblTongSo.Text + " người");
                    nnreport1.SetParameterValue("sotnvk", "Trong đó: Số người được hưởng phụ cấp thâm niên vượt khung ở cơ quan, đơn vị: " + txtNLThuongXuyen.Text.ToString() + " người");
                    nnreport1.SetParameterValue("dotnl", txtDotNangLuong.Text);
                    nnreport1.SetParameterValue("namnl", txtNamNangLuong.Text);
                    nnreport1.SetParameterValue("luongcoban", luongcb.ToString());
                    frm = new frmReportViewer(nnreport1);
                    frm.ShowDialog();
                    break;
                case 3:
                    nnreport1 = new rptDSPhuCapVuotKhung();
                    nnreport1.SetDataSource(dsNangLuong);
                    nnreport1.SetParameterValue("khoi", "*KHỐI: " + frmCall.tvControl.SelectedNode.Text.ToUpper());
                    nnreport1.SetParameterValue("tongso", "Tổng số cán bộ, công chức, viên chức ở cơ quan, đơn vị có mặt tại thời điểm xét hưởng phụ cấp thâm niên vượt khung: " + lblTongSo.Text + " người");
                    nnreport1.SetParameterValue("sotnvk", "Trong đó: Số người được hưởng phụ cấp thâm niên vượt khung ở cơ quan, đơn vị: " + txtNLThuongXuyen.Text.ToString() + " người");
                    nnreport1.SetParameterValue("dotnl", txtDotNangLuong.Text);
                    nnreport1.SetParameterValue("namnl", txtNamNangLuong.Text);
                    nnreport1.SetParameterValue("luongcoban", luongcb.ToString());
                    frm = new frmReportViewer(nnreport1);
                    frm.ShowDialog();
                    break;
            }
            

        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void frmINDSNANGLUONG_Load(object sender, EventArgs e)
        {
            txtNamNangLuong.Text = DateTime.Now.Year.ToString();
            txtDotNangLuong.Text = "1";
            //Lay tong so nhan vien co trong don vi chon in
            frmDSNangLuong frmCall = (frmDSNangLuong)fCallForm;
            strDonViCond = "left(nhom, " + frmCall.tvControl.SelectedNode.Name.Length.ToString() + ") = '" + frmCall.tvControl.SelectedNode.Name.ToString() + "'";
            DataSet dsSum = CNHANVIENCollection.LayDSNhanVienTheoDK(strDonViCond);
            lblTongSo.Text = dsSum.Tables[0].Rows.Count.ToString();
            tongso = int.Parse(lblTongSo.Text);
            txtNLThuongXuyen.Text = dsNangLuong.Tables[0].Rows.Count.ToString();
            int height;
            switch (loaibaobieu)
            {
                case 0:
                    this.Text = "In danh sách nâng lương";
                    txtDotNangLuong.Text = "1";
                    txtNLTruocThoiHan.Text = "0";
                    txtThongBaoNghiHuu.Text = "0";
                    break;
                case 1:
                    this.Text = "In danh sách nâng lương";
                    txtDotNangLuong.Text = "2";
                    txtNLTruocThoiHan.Text = "0";
                    txtThongBaoNghiHuu.Text = "0";
                    break;
                case 2:
                    this.Text = "In danh sách thâm niên vượt khung";
                    txtDotNangLuong.Text = "1";
                    label3.Visible = false;
                    label4.Visible = false;
                    label2.Text = "Số người được hưởng thâm niên vượt khung";
                    txtNLTruocThoiHan.Visible = false;
                    txtThongBaoNghiHuu.Visible = false;
                    height = txtNLTruocThoiHan.Height + txtThongBaoNghiHuu.Height;
                    this.Height -= height;
                    btnIn.Location = new System.Drawing.Point(btnIn.Location.X, btnIn.Location.Y - height);
                    btnThoat.Location = new System.Drawing.Point(btnThoat.Location.X, btnThoat.Location.Y - height);
                    break;
                case 3:
                    this.Text = "In danh sách thâm niên vượt khung";
                    txtDotNangLuong.Text = "2";
                    label3.Visible = false;
                    label4.Visible = false;
                    label2.Text = "Số người được hưởng thâm niên vượt khung";
                    txtNLTruocThoiHan.Visible = false;
                    txtThongBaoNghiHuu.Visible = false;
                    height = txtNLTruocThoiHan.Height + txtThongBaoNghiHuu.Height;
                    this.Height -= height;
                    btnIn.Location = new System.Drawing.Point(btnIn.Location.X, btnIn.Location.Y - height);
                    btnThoat.Location = new System.Drawing.Point(btnThoat.Location.X, btnThoat.Location.Y - height);
                    break;
            }
            
        }

        //private void txtNLThuongXuyen_TextChanged(object sender, EventArgs e)
        //{
        //    nltx = int.Parse(txtNLThuongXuyen.Text);
        //    nltth = tongso - nltx;
        //    txtNLTruocThoiHan.Text = nltth.ToString();
        //    nghihuu = tongso - nltx - nltth;
        //    txtThongBaoNghiHuu.Text = nltth.ToString();
        //}

        //private void txtNLTruocThoiHan_TextChanged(object sender, EventArgs e)
        //{
           
        //}

        //private void txtNLTruocThoiHan_KeyUp(object sender, KeyEventArgs e)
        //{
        //    nltx = int.Parse(txtNLThuongXuyen.Text);
        //    nltth = tongso - nltx;
        //    txtNLTruocThoiHan.Text = nltth.ToString();
        //    nghihuu = tongso - nltx - nltth;
        //    txtThongBaoNghiHuu.Text = nltth.ToString();
        //}

        //private void txtThongBaoNghiHuu_TextChanged(object sender, EventArgs e)
        //{
        //    nltth = int.Parse(txtNLTruocThoiHan.Text);
        //    nltth = tongso - nltx;
        //    txtNLTruocThoiHan.Text = nltth.ToString();
        //    nghihuu = tongso - nltx - nltth;
        //    txtThongBaoNghiHuu.Text = nltth.ToString();
        //}
    }
}